package yja.gzw.app.model.api

import yja.gzw.app.model.bean.Bangdingqieyebean
import yja.gzw.app.model.bean.BianJiziliaoBean
import yja.gzw.app.model.bean.Bianjizhuanqubean
import yja.gzw.app.model.bean.Chengjiedinghdanbean
import yja.gzw.app.model.bean.ChongzhimimaBean
import yja.gzw.app.model.bean.ChuanjiandingdanBean
import yja.gzw.app.model.bean.DianzanBean
import yja.gzw.app.model.bean.Dindanbean
import yja.gzw.app.model.bean.Dongtaixiangqingbean
import yja.gzw.app.model.bean.Fabujingpingshjipingbean
import yja.gzw.app.model.bean.FabuponseData
import yja.gzw.app.model.bean.FabuqinglongBean
import yja.gzw.app.model.bean.FengsiBean
import yja.gzw.app.model.bean.Gongonlei
import yja.gzw.app.model.bean.GuanzhuhequguanBean
import yja.gzw.app.model.bean.Haoyouzhuyebean
import yja.gzw.app.model.bean.HuifuBean
import yja.gzw.app.model.bean.Isbangdingqiyebean
import yja.gzw.app.model.bean.Jingpingshipingbean
import yja.gzw.app.model.bean.LoginBean
import yja.gzw.app.model.bean.Luyingsc
import yja.gzw.app.model.bean.Pinglongbean
import yja.gzw.app.model.bean.Pinglongdianzan
import yja.gzw.app.model.bean.QidngdanBean
import yja.gzw.app.model.bean.Sanzhuanqubean
import yja.gzw.app.model.bean.ShanchudingdanBean
import yja.gzw.app.model.bean.Shengchengchenggong
import yja.gzw.app.model.bean.Shengcshiping
import yja.gzw.app.model.bean.ShoucangBean
import yja.gzw.app.model.bean.TuijianResponse
import yja.gzw.app.model.bean.Tupiansucaibean
import yja.gzw.app.model.bean.Wodebena
import yja.gzw.app.model.bean.Wodeguanzhubean
import yja.gzw.app.model.bean.WodetongjiBean
import yja.gzw.app.model.bean.XiangqingBean
import yja.gzw.app.model.bean.YuerBean
import yja.gzw.app.model.bean.ZanheshoucangBean
import yja.gzw.app.model.bean.ZhifuBean
import yja.gzw.app.model.bean.Zhuanqubean
import yja.gzw.app.model.bean.Zhucebean
import io.reactivex.Observable
import okhttp3.MultipartBody
import retrofit2.http.Body
import retrofit2.http.Header
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.Part
import yja.gzw.app.model.bean.BianjiFabujingpingshjipingbean
import yja.gzw.app.model.bean.BianjidingdanBean
import yja.gzw.app.model.bean.ChengjiafangquxiaodingdanBean
import yja.gzw.app.model.bean.ChuangjiandigdanBean
import yja.gzw.app.model.bean.ChujiahejingjiaBean
import yja.gzw.app.model.bean.DouyingmaBean
import yja.gzw.app.model.bean.FabuabBean
import yja.gzw.app.model.bean.FabuabBean2
import yja.gzw.app.model.bean.Fankuibean
import yja.gzw.app.model.bean.FankuiliebiaoBean
import yja.gzw.app.model.bean.FankuixiangqingBean
import yja.gzw.app.model.bean.GenghuanshoujihaoBean
import yja.gzw.app.model.bean.JvjuedingdanBean
import yja.gzw.app.model.bean.KaipiaoBean
import yja.gzw.app.model.bean.MinxingBean
import yja.gzw.app.model.bean.PingjiaBean
import yja.gzw.app.model.bean.PingjialiebiaoBean
import yja.gzw.app.model.bean.QuxiaoqiangdanBean
import yja.gzw.app.model.bean.SanQuerenBean
import yja.gzw.app.model.bean.ShengqingfapiaoBean
import yja.gzw.app.model.bean.ShengqingxiangqingBean
import yja.gzw.app.model.bean.ShengqingzhuangtaiBean
import yja.gzw.app.model.bean.ShipingbaodingdanBean
import yja.gzw.app.model.bean.TixianBean
import yja.gzw.app.model.bean.Xiangqingbeans
import yja.gzw.app.model.bean.XitoengxiaoxiBean

interface Apiserves {

    @Multipart
    @POST("api/ajax/upload")
    fun Luyishangchuan(
        @Part file: MultipartBody.Part
    ): Observable<Luyingsc>

    @POST("api/sms/send")
    fun Zhuceyzm(
        @Body map: Map<String, String>
    ): Observable<Gongonlei>


    @POST("api/user/register")
    fun Zhuceqingqiu(
        @Body map: Map<String, String>

    ):Observable<Zhucebean>


    @POST("api/user/login")
    fun Denglu(
        @Body map: Map<String, String>
    ):Observable<LoginBean>

    @POST("api/user/mobilelogin")
    fun Denglu2(
        @Body map: Map<String, String>
    ):Observable<LoginBean>


    @POST("api/xiluedu/forum/hot_lists")
    fun Tuijian(
        @Header("token") token:String,
        @Body map: Map<String, String>
    ):Observable<TuijianResponse>

    @POST("api/xiluedu/forum/focus_lists")
    fun Guanzhu(
        @Header("token") token:String,
        @Body map: Map<String, String>
    ):Observable<TuijianResponse>

    @POST("api/xiluedu/forum/add_forum")
    fun Fabudongtai(
        @Header("token") token:String,
        @Body map: Map<String, String>
    ):Observable<FabuponseData>

    @POST("api/xiluedu/user/personalHomepage")
    fun Wodezhuye(
        @Header("token") token:String,
        @Body map: Map<String, String>
    ):Observable<Wodebena>


    @POST("api/xiluedu/offline_order/orderList")
    fun Zhuanqu(
        @Header("token") token: String,
        @Body map:Map<String,String>

    ):Observable<Zhuanqubean>

    @POST("api/xiluedu/offline_order/orderList")
    fun Sanzhuanqu(
        @Header("token") token: String,
        @Body map:Map<String,String>

    ):Observable<Sanzhuanqubean>

    @POST("api/xiluedu/offline_order/lists")
    fun Dindanshow(
        @Header("token") token: String,
        @Body map:Map<String,String>

    ):Observable<Dindanbean>


    @POST("api/xiluedu/offline_order/publish_list")
    fun Fabuallshow(
        @Header("token") token: String,
        @Body map:Map<String,String>
    ):Observable<FabuabBean>
    @POST("api/xiluedu/offline_order/publish_list")
    fun Fabuallshow2(
        @Header("token") token: String,
        @Body map:Map<String,String>
    ):Observable<FabuabBean2>

    @POST("api/xiluedu/offline_order/create_order")
    fun Chuanjiandd(
        @Header("token") token: String,
        @Body map:Map<String,String>
    ):Observable<ChuanjiandingdanBean>

    @POST("api/pay/pay")
    fun Zhifu(
        @Header("token") token: String,
        @Body map:Map<String,String>
    ):Observable<ZhifuBean>


    @POST("api/aivideo/uploadMedia")
    fun Tupiansucai(
        @Header("token") token: String,
        @Body map: Map<String,String>

    ):Observable<Tupiansucaibean>


    @POST("api/aivideo/create")
    fun Shengchengshiping(
        @Header("token") token: String,
        @Body map: Map<String,String>

    ):Observable<Shengcshiping>

    @POST("api/aivideo/getVideo")
    fun Sehngchengcg(
        @Header("token") token: String,
    ):Observable<Shengchengchenggong>



    @POST("api/xiluedu/offline_order/take_list")
    fun Chengjiedindan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Chengjiedinghdanbean>


    @POST("api/xiluedu/forum/detail")
    fun Dongtaixiangqing(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Dongtaixiangqingbean>

    @POST("api/xiluedu/user/personalHomepage")
    fun Haoyouzhuye(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Haoyouzhuyebean>


    @POST("api/xiluedu/offline_order/fine_order_list")
    fun Jingpingshiping(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Jingpingshipingbean>


    @POST("api/xiluedu/user/is_bind")
    fun Isqiyebangding(
        @Header("token") token: String,
    ):Observable<Isbangdingqiyebean>

    @POST("api/xiluedu/user/qy_bind")
    fun Bangdingqiye(
        @Header("token") token: String,

        @Body map: Map<String,String>
    ):Observable<Bangdingqieyebean>

    @POST("api/xiluedu/offline_order/create_fine_order")
    fun Fabujigpingshiping(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Fabujingpingshjipingbean>

    @POST("api/xiluedu/offline_order/edit_fine_order")
    fun BianjiFabujigpingshiping(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<BianjiFabujingpingshjipingbean>


    @POST("api/xiluedu/offline_order/detail")
    fun Xiangqing(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<XiangqingBean>

    @POST("api/xiluedu/offline_order/detail")
    fun Xiangqing2(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Xiangqingbeans>


    @POST("api/xiluedu/offline_order/task_order")
    fun Qiangdan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<QidngdanBean>



    @POST("api/xiluedu/forum/toggle_fav")
    fun Diazan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<DianzanBean>
    @POST("api/xiluedu/forum/comment_toggle_fav")
    fun Diazanpl(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Pinglongdianzan>



    @POST("api/xiluedu/forum/comment_lists")
    fun Pinlun(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Pinglongbean>

    @POST("api/xiluedu/forum/reply_comment_lists")
    fun Huifu(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<HuifuBean>

    @POST("api/xiluedu/user/my_fans")
    fun Fengsi(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<FengsiBean>

    @POST("api/xiluedu/user/my_focus")
    fun Wdoeguanzhu(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Wodeguanzhubean>

    @POST("api/xiluedu/offline_order/order_count")
    fun Wodetongji(
        @Header("token") token: String,
    ):Observable<WodetongjiBean>

    @POST("api/xiluedu/user/my_money")
    fun Yuer(
        @Header("token") token: String,
    ):Observable<YuerBean>


    @POST("api/user/profile")
    fun Xiugaiziliao(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<BianJiziliaoBean>

//todo 删除订单
    @POST("api/xiluedu/offline_order/delete_order")
    fun Shanchudingdan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ShanchudingdanBean>


    @POST("api/xiluedu/offline_order/delete_order")
    fun Bianjizhuanqu(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<Bianjizhuanqubean>


    @POST("api/xiluedu/user/favourite_collect")
    fun Zanheshoucang(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ZanheshoucangBean>

    //todo 发布评论
    @POST("api/xiluedu/forum/add_comment")
    fun Fabupinglong(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<FabuqinglongBean>
    //todo 关注和取关

    @POST("api/xiluedu/forum/toggle_focus")
    fun Guanzhuhequguan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<GuanzhuhequguanBean>

    @POST("api/user/resetpwd")
    fun Chongzhimima(
        @Body map: Map<String,String>
    ):Observable<ChongzhimimaBean>

    @POST("api/xiluedu/forum/toggle_collection")
    fun Shoucang(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ShoucangBean>


    @POST("api/xiluedu/forum/collection_lists")
    fun Shoucangliebiao(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<TuijianResponse>


    @POST("api/xiluedu/user/withdrawal_amount_setting")
    fun Tianxianxuanxiang(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<TuijianResponse>

    @POST("api/xiluedu/user/withdraw")
    fun Tianxian(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<TixianBean>

    @POST("api/xiluedu/user/money_lists")
    fun Mingxi(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<MinxingBean>
    //todo 开票管理
    @POST("api/xiluedu/user/invoice_list")
    fun Kaipiao(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<KaipiaoBean>


    //todo 承接方取消订单
    @POST("api/xiluedu/offline_order/revoke_order")
    fun Chengjiaquxiao(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ChengjiafangquxiaodingdanBean>

    //todo 出价和竞价
    @POST("api/xiluedu/offline_order/bid_price")
    fun Chujiahejingjia(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ChujiahejingjiaBean>

    //todo 拒绝待确认订单
    @POST("api/xiluedu/offline_order/publish_revoke_order")
    fun Jvjuedingdan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<JvjuedingdanBean>

    //todo 拒绝待确认订单
    @POST("api/xiluedu/offline_order/confirm_revoke_order")
    fun ItJvjuedingdan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<JvjuedingdanBean>

    //todo 上传订单视频

    @POST("api/xiluedu/offline_order/upload_video_order")
    fun Shangchuandindan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<JvjuedingdanBean>
    //todo 确认收货
    @POST("api/xiluedu/offline_order/confirm_goods")
    fun Qurengshouhuo(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<JvjuedingdanBean>

    //todo 单个评价

    @POST("api/xiluedu/course_comment/add_comment")
    fun Pingjia(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<PingjiaBean>

    //todo 创建vip订单

    @POST("api/xiluedu/vip_order/create_order")
    fun Chuanjiandingdan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ChuangjiandigdanBean>

    //todo 创建视频包订单

    @POST("api/xiluedu/ai_order/create_order")
    fun Chuangjianshipingbaodingdan(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<ShipingbaodingdanBean>

    //todo 更换手机号
    @POST("api/user/changemobile")
    fun Genghuashoujihao(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<GenghuanshoujihaoBean>
    //评价列表
    @POST("api/xiluedu/course_comment/order_comment_list")
    fun Pinjialiebiao(
        @Header("token") token: String,
        @Body map: Map<String,String>
    ):Observable<PingjialiebiaoBean>


    //todo 我的申请状态
    @POST("api/xiluedu/user/apply_status")
    fun Shengqingzhuangtai(
        @Header("token") token: String
    ):Observable<ShengqingzhuangtaiBean>

    //todo 申请详情

    @POST("api/xiluedu/user/apply_detail")
    fun Shengqingxiangqing(
        @Header("token") token: String
        ,  @Body map: Map<String,String>
    ):Observable<ShengqingxiangqingBean>

    //todo 编辑订单
    @POST("api/xiluedu/offline_order/edit")
    fun Bianjidindan(
        @Header("token") token: String
        ,@Body map: Map<String,String>
    ):Observable<BianjidingdanBean>

    //todo 反馈的内容

    @POST("api/xiluedu/feedback/feedback")
    fun Fankuineirong(
        @Header("token") token: String
        ,@Body map: Map<String,String>
    ):Observable<Fankuibean>
    // todo 产品建议

    @POST("api/xiluedu/feedback/feedback")
    fun Chanpingjianyi(
        @Header("token") token: String
        ,@Body map: Map<String,String>
    ):Observable<Fankuibean>

    //todo 反馈列表

    @POST("api/xiluedu/feedback/feedback_list")
    fun Fankuileibiao(
        @Header("token") token: String
        ,@Body map: Map<String,String>
    ):Observable<FankuiliebiaoBean>
    //todo 反馈详情
    @POST("api/xiluedu/feedback/detail")
    fun Fankuixiangqing(
        @Header("token") token: String
        ,@Body map: Map<String,String>
    ):Observable<FankuixiangqingBean>


    //todo 申请电子发票
    @POST("api/xiluedu/Ticket/add_ticket")
    fun Shengqingdianzifapiao(
        @Header("token") token: String
        ,@Body map: Map<String,String>
    ):Observable<ShengqingfapiaoBean>

    @POST("/api/xiluedu/offline_order/confirm_order")
    fun Sanqueren(
        @Header("token") token:String,
        @Body map:Map<String,String>
    ):Observable<SanQuerenBean>


    //todo 系统消息
    @POST("api/xiluedu/message/system_list")
    fun Xitongxiaoxi(
        @Header("token") token:String,
    ):Observable<XitoengxiaoxiBean>
    //todo 取消抢单

    @POST("api/xiluedu/offline_order/revoke_take_order")
    fun Quxiaoqiangdan(
        @Header("token") token:String,
        @Body map:Map<String,String>
    ):Observable<QuxiaoqiangdanBean>


}